''' <summary>
''' The Data Access Layer gateway.
''' </summary>
Public Class DataLayer : Inherits System.ComponentModel.Component

#Region " Component Designer generated code "

    Public Sub New(ByVal Container As System.ComponentModel.IContainer)
        MyClass.New()

        'Required for Windows.Forms Class Composition Designer support
        Container.Add(Me)
    End Sub

    Public Sub New()
        MyBase.New()

        'This call is required by the Component Designer.
        InitializeComponent()

        'Add any initialization after the InitializeComponent() call
    End Sub

    'Component overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    'Required by the Component Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Component Designer
    'It can be modified using the Component Designer.
    'Do not modify it using the code editor.
    Friend WithEvents mConnection As System.Data.SqlClient.SqlConnection
    Friend WithEvents mDataDS As Phoenix.DataAccess.DataSetData
    Friend WithEvents mClientDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mClientDeleteCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mClientInsertCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mClientSelectCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mSelectUpdateCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mEmployeeDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mEmployeeSelectCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mEmployeeInsertCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mEmployeeUpdateCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mEmployeeDeleteCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mProductDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mProductInsertCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mProductUpdateCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mProductDeleteCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mProductSelectCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mServiceDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mServiceDeleteCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mServiceInsertCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mServiceSelectCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mServiceUpdateCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mMasterLevelDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mMasterLevelSelectCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mMasterLevelInsertCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mMasterLevelUpdateCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mMasterLevelDeleteCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mBillDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mBillInsertCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mBillUpdateCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mBillDeleteCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mBillSelectCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mServiceParamDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mServiceParamInsertCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mServiceParamUpdateCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mServiceParamDeleteCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mServiceParamSelectCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mAppointmentDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mAppointmentDeleteCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mAppointmentInsertCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mAppointmentSelectCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mAppointmentUpdateCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mBillDetailsDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mBillDetailsDASelectCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mBillPaymentDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mBillPaymentSelectCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mBillPaymentInsertCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mBillPaymentUpdateCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mBillPaymentDeleteCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mBillProductDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mBillProductSelectCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mBillProductInsertCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mBillProductUpdateCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mBillProductDeleteCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mPCBillDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mPCBillDASelectCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mPCBillDAInsertCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mPCBillDAUpdateCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mPCBillDADeleteCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mEDAutitDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mEDAutitCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mEDPropertiesDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mEDPropertiesCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mEDPaymentDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mEDPaymentCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mFREmployeeDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mFREmployeeCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mFRServiceDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mFRServiceCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mFRProductDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mFRProductCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mQREmployeeDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mQREmployeeCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mScheduleDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mScheduleSelectCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mScheduleInsertCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mScheduleUpdateCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mScheduleDeleteCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mSalonTimeDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mSalonTimeSelectCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mSalonTimeInsertCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mSalonTimeUpdateCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mSalonTimeDeleteCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mEmployeeTimeDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mEmployeeTimeSelectCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mEmployeeTimeInsertCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mEmployeeTimeUpdateCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mEmployeeTimeDeleteCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mBusyTimeDA As System.Data.SqlClient.SqlDataAdapter
    Friend WithEvents mBusyTimeSelectCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mBusyTimeInsertCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mBusyTimeUpdateCommand As System.Data.SqlClient.SqlCommand
    Friend WithEvents mBusyTimeDeleteCommand As System.Data.SqlClient.SqlCommand
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.mBillDetailsDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mBillDetailsDASelectCommand = New System.Data.SqlClient.SqlCommand
        Me.mConnection = New System.Data.SqlClient.SqlConnection
        Me.mDataDS = New Phoenix.DataAccess.DataSetData
        Me.mClientDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mClientDeleteCommand = New System.Data.SqlClient.SqlCommand
        Me.mClientInsertCommand = New System.Data.SqlClient.SqlCommand
        Me.mClientSelectCommand = New System.Data.SqlClient.SqlCommand
        Me.mSelectUpdateCommand = New System.Data.SqlClient.SqlCommand
        Me.mEmployeeDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mEmployeeDeleteCommand = New System.Data.SqlClient.SqlCommand
        Me.mEmployeeInsertCommand = New System.Data.SqlClient.SqlCommand
        Me.mEmployeeSelectCommand = New System.Data.SqlClient.SqlCommand
        Me.mEmployeeUpdateCommand = New System.Data.SqlClient.SqlCommand
        Me.mProductDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mProductDeleteCommand = New System.Data.SqlClient.SqlCommand
        Me.mProductInsertCommand = New System.Data.SqlClient.SqlCommand
        Me.mProductSelectCommand = New System.Data.SqlClient.SqlCommand
        Me.mProductUpdateCommand = New System.Data.SqlClient.SqlCommand
        Me.mServiceDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mServiceDeleteCommand = New System.Data.SqlClient.SqlCommand
        Me.mServiceInsertCommand = New System.Data.SqlClient.SqlCommand
        Me.mServiceSelectCommand = New System.Data.SqlClient.SqlCommand
        Me.mServiceUpdateCommand = New System.Data.SqlClient.SqlCommand
        Me.mMasterLevelDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mMasterLevelDeleteCommand = New System.Data.SqlClient.SqlCommand
        Me.mMasterLevelInsertCommand = New System.Data.SqlClient.SqlCommand
        Me.mMasterLevelSelectCommand = New System.Data.SqlClient.SqlCommand
        Me.mMasterLevelUpdateCommand = New System.Data.SqlClient.SqlCommand
        Me.mBillDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mBillDeleteCommand = New System.Data.SqlClient.SqlCommand
        Me.mBillInsertCommand = New System.Data.SqlClient.SqlCommand
        Me.mBillSelectCommand = New System.Data.SqlClient.SqlCommand
        Me.mBillUpdateCommand = New System.Data.SqlClient.SqlCommand
        Me.mServiceParamDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mServiceParamDeleteCommand = New System.Data.SqlClient.SqlCommand
        Me.mServiceParamInsertCommand = New System.Data.SqlClient.SqlCommand
        Me.mServiceParamSelectCommand = New System.Data.SqlClient.SqlCommand
        Me.mServiceParamUpdateCommand = New System.Data.SqlClient.SqlCommand
        Me.mAppointmentDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mAppointmentDeleteCommand = New System.Data.SqlClient.SqlCommand
        Me.mAppointmentInsertCommand = New System.Data.SqlClient.SqlCommand
        Me.mAppointmentSelectCommand = New System.Data.SqlClient.SqlCommand
        Me.mAppointmentUpdateCommand = New System.Data.SqlClient.SqlCommand
        Me.mBillPaymentDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mBillPaymentDeleteCommand = New System.Data.SqlClient.SqlCommand
        Me.mBillPaymentInsertCommand = New System.Data.SqlClient.SqlCommand
        Me.mBillPaymentSelectCommand = New System.Data.SqlClient.SqlCommand
        Me.mBillPaymentUpdateCommand = New System.Data.SqlClient.SqlCommand
        Me.mBillProductDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mBillProductDeleteCommand = New System.Data.SqlClient.SqlCommand
        Me.mBillProductInsertCommand = New System.Data.SqlClient.SqlCommand
        Me.mBillProductSelectCommand = New System.Data.SqlClient.SqlCommand
        Me.mBillProductUpdateCommand = New System.Data.SqlClient.SqlCommand
        Me.mPCBillDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mPCBillDADeleteCommand = New System.Data.SqlClient.SqlCommand
        Me.mPCBillDAInsertCommand = New System.Data.SqlClient.SqlCommand
        Me.mPCBillDASelectCommand = New System.Data.SqlClient.SqlCommand
        Me.mPCBillDAUpdateCommand = New System.Data.SqlClient.SqlCommand
        Me.mEDAutitDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mEDAutitCommand = New System.Data.SqlClient.SqlCommand
        Me.mEDPropertiesDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mEDPropertiesCommand = New System.Data.SqlClient.SqlCommand
        Me.mEDPaymentDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mEDPaymentCommand = New System.Data.SqlClient.SqlCommand
        Me.mFREmployeeDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mFREmployeeCommand = New System.Data.SqlClient.SqlCommand
        Me.mFRServiceDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mFRServiceCommand = New System.Data.SqlClient.SqlCommand
        Me.mFRProductDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mFRProductCommand = New System.Data.SqlClient.SqlCommand
        Me.mQREmployeeDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mQREmployeeCommand = New System.Data.SqlClient.SqlCommand
        Me.mScheduleDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mScheduleDeleteCommand = New System.Data.SqlClient.SqlCommand
        Me.mScheduleInsertCommand = New System.Data.SqlClient.SqlCommand
        Me.mScheduleSelectCommand = New System.Data.SqlClient.SqlCommand
        Me.mScheduleUpdateCommand = New System.Data.SqlClient.SqlCommand
        Me.mSalonTimeDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mSalonTimeDeleteCommand = New System.Data.SqlClient.SqlCommand
        Me.mSalonTimeInsertCommand = New System.Data.SqlClient.SqlCommand
        Me.mSalonTimeSelectCommand = New System.Data.SqlClient.SqlCommand
        Me.mSalonTimeUpdateCommand = New System.Data.SqlClient.SqlCommand
        Me.mEmployeeTimeDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mEmployeeTimeDeleteCommand = New System.Data.SqlClient.SqlCommand
        Me.mEmployeeTimeInsertCommand = New System.Data.SqlClient.SqlCommand
        Me.mEmployeeTimeSelectCommand = New System.Data.SqlClient.SqlCommand
        Me.mEmployeeTimeUpdateCommand = New System.Data.SqlClient.SqlCommand
        Me.mBusyTimeDA = New System.Data.SqlClient.SqlDataAdapter
        Me.mBusyTimeDeleteCommand = New System.Data.SqlClient.SqlCommand
        Me.mBusyTimeInsertCommand = New System.Data.SqlClient.SqlCommand
        Me.mBusyTimeSelectCommand = New System.Data.SqlClient.SqlCommand
        Me.mBusyTimeUpdateCommand = New System.Data.SqlClient.SqlCommand
        CType(Me.mDataDS, System.ComponentModel.ISupportInitialize).BeginInit()
        '
        'mBillDetailsDA
        '
        Me.mBillDetailsDA.SelectCommand = Me.mBillDetailsDASelectCommand
        Me.mBillDetailsDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "GetBillDetails", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("BillID", "BillID"), New System.Data.Common.DataColumnMapping("Category", "Category"), New System.Data.Common.DataColumnMapping("Cost", "Cost"), New System.Data.Common.DataColumnMapping("Info", "Info")})})
        '
        'mBillDetailsDASelectCommand
        '
        Me.mBillDetailsDASelectCommand.CommandText = "[HRGetBillDetails]"
        Me.mBillDetailsDASelectCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mBillDetailsDASelectCommand.Connection = Me.mConnection
        Me.mBillDetailsDASelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mBillDetailsDASelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ClientID", System.Data.SqlDbType.Int, 4))
        '
        'mConnection
        '
        Me.mConnection.ConnectionString = "workstation id=FLY;packet size=4096;integrated security=SSPI;data source=""FLY\Pho" & _
        "enix"";persist security info=False;initial catalog=Phoenix"
        '
        'mDataDS
        '
        Me.mDataDS.DataSetName = "mDataDS"
        Me.mDataDS.EnforceConstraints = False
        Me.mDataDS.Locale = New System.Globalization.CultureInfo("en-US")
        '
        'mClientDA
        '
        Me.mClientDA.DeleteCommand = Me.mClientDeleteCommand
        Me.mClientDA.InsertCommand = Me.mClientInsertCommand
        Me.mClientDA.SelectCommand = Me.mClientSelectCommand
        Me.mClientDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Client", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("ClientID", "ClientID"), New System.Data.Common.DataColumnMapping("FullName", "FullName"), New System.Data.Common.DataColumnMapping("InOffice", "InOffice"), New System.Data.Common.DataColumnMapping("Comment", "Comment"), New System.Data.Common.DataColumnMapping("Address", "Address"), New System.Data.Common.DataColumnMapping("Phone", "Phone"), New System.Data.Common.DataColumnMapping("BirthDate", "BirthDate"), New System.Data.Common.DataColumnMapping("Picture", "Picture")})})
        Me.mClientDA.UpdateCommand = Me.mSelectUpdateCommand
        '
        'mClientDeleteCommand
        '
        Me.mClientDeleteCommand.CommandText = "[HRDeleteClient]"
        Me.mClientDeleteCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mClientDeleteCommand.Connection = Me.mConnection
        Me.mClientDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mClientDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ClientID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ClientID", System.Data.DataRowVersion.Original, Nothing))
        '
        'mClientInsertCommand
        '
        Me.mClientInsertCommand.CommandText = "[HRAddClient]"
        Me.mClientInsertCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mClientInsertCommand.Connection = Me.mConnection
        Me.mClientInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mClientInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FullName", System.Data.SqlDbType.NVarChar, 128, "FullName"))
        Me.mClientInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Gender", System.Data.SqlDbType.Char, 1, "Gender"))
        Me.mClientInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@InOffice", System.Data.SqlDbType.TinyInt, 1, "InOffice"))
        Me.mClientInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Comment", System.Data.SqlDbType.NVarChar, 512, "Comment"))
        Me.mClientInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Address", System.Data.SqlDbType.NVarChar, 512, "Address"))
        Me.mClientInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Phone", System.Data.SqlDbType.NVarChar, 128, "Phone"))
        Me.mClientInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@BirthDate", System.Data.SqlDbType.NVarChar, 128, "BirthDate"))
        Me.mClientInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Email", System.Data.SqlDbType.NVarChar, 512, "Email"))
        '
        'mClientSelectCommand
        '
        Me.mClientSelectCommand.CommandText = "[HRGetClients]"
        Me.mClientSelectCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mClientSelectCommand.Connection = Me.mConnection
        Me.mClientSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        '
        'mSelectUpdateCommand
        '
        Me.mSelectUpdateCommand.CommandText = "[HRUpdateClient]"
        Me.mSelectUpdateCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mSelectUpdateCommand.Connection = Me.mConnection
        Me.mSelectUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mSelectUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FullName", System.Data.SqlDbType.NVarChar, 128, "FullName"))
        Me.mSelectUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Gender", System.Data.SqlDbType.Char, 1, "Gender"))
        Me.mSelectUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@InOffice", System.Data.SqlDbType.TinyInt, 1, "InOffice"))
        Me.mSelectUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Comment", System.Data.SqlDbType.NVarChar, 512, "Comment"))
        Me.mSelectUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Address", System.Data.SqlDbType.NVarChar, 512, "Address"))
        Me.mSelectUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Phone", System.Data.SqlDbType.NVarChar, 128, "Phone"))
        Me.mSelectUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@BirthDate", System.Data.SqlDbType.NVarChar, 128, "BirthDate"))
        Me.mSelectUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Email", System.Data.SqlDbType.NVarChar, 512, "Email"))
        Me.mSelectUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ClientID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ClientID", System.Data.DataRowVersion.Original, Nothing))
        Me.mSelectUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ClientID", System.Data.SqlDbType.Int, 4, "ClientID"))
        '
        'mEmployeeDA
        '
        Me.mEmployeeDA.DeleteCommand = Me.mEmployeeDeleteCommand
        Me.mEmployeeDA.InsertCommand = Me.mEmployeeInsertCommand
        Me.mEmployeeDA.SelectCommand = Me.mEmployeeSelectCommand
        Me.mEmployeeDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Employee", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("EmployeeID", "EmployeeID"), New System.Data.Common.DataColumnMapping("FullName", "FullName"), New System.Data.Common.DataColumnMapping("Position", "Position"), New System.Data.Common.DataColumnMapping("MasterLevelID", "MasterLevelID"), New System.Data.Common.DataColumnMapping("SecurityLevel", "SecurityLevel"), New System.Data.Common.DataColumnMapping("Phone", "Phone"), New System.Data.Common.DataColumnMapping("Address", "Address"), New System.Data.Common.DataColumnMapping("Comments", "Comments"), New System.Data.Common.DataColumnMapping("Password", "Password"), New System.Data.Common.DataColumnMapping("Sys", "Sys"), New System.Data.Common.DataColumnMapping("IsOperator", "IsOperator"), New System.Data.Common.DataColumnMapping("IsAttendant", "IsAttendant"), New System.Data.Common.DataColumnMapping("Photo", "Photo")})})
        Me.mEmployeeDA.UpdateCommand = Me.mEmployeeUpdateCommand
        '
        'mEmployeeDeleteCommand
        '
        Me.mEmployeeDeleteCommand.CommandText = "[HRDeleteEmployee]"
        Me.mEmployeeDeleteCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mEmployeeDeleteCommand.Connection = Me.mConnection
        Me.mEmployeeDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mEmployeeDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_EmployeeID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "EmployeeID", System.Data.DataRowVersion.Original, Nothing))
        '
        'mEmployeeInsertCommand
        '
        Me.mEmployeeInsertCommand.CommandText = "[HRAddEmployee]"
        Me.mEmployeeInsertCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mEmployeeInsertCommand.Connection = Me.mConnection
        Me.mEmployeeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mEmployeeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FullName", System.Data.SqlDbType.NVarChar, 128, "FullName"))
        Me.mEmployeeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Position", System.Data.SqlDbType.NVarChar, 128, "Position"))
        Me.mEmployeeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@MasterLevelID", System.Data.SqlDbType.Int, 4, "MasterLevelID"))
        Me.mEmployeeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@SecurityLevel", System.Data.SqlDbType.Int, 4, "SecurityLevel"))
        Me.mEmployeeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Phone", System.Data.SqlDbType.NVarChar, 128, "Phone"))
        Me.mEmployeeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Address", System.Data.SqlDbType.NVarChar, 512, "Address"))
        Me.mEmployeeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Comments", System.Data.SqlDbType.NVarChar, 2048, "Comments"))
        Me.mEmployeeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Password", System.Data.SqlDbType.NVarChar, 64, "Password"))
        Me.mEmployeeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Sys", System.Data.SqlDbType.Bit, 1, "Sys"))
        Me.mEmployeeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsOperator", System.Data.SqlDbType.Bit, 1, "IsOperator"))
        Me.mEmployeeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsAttendant", System.Data.SqlDbType.Bit, 1, "IsAttendant"))
        Me.mEmployeeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Photo", System.Data.SqlDbType.VarBinary, 2147483647, "Photo"))
        '
        'mEmployeeSelectCommand
        '
        Me.mEmployeeSelectCommand.CommandText = "[HRGetEmployee]"
        Me.mEmployeeSelectCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mEmployeeSelectCommand.Connection = Me.mConnection
        Me.mEmployeeSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        '
        'mEmployeeUpdateCommand
        '
        Me.mEmployeeUpdateCommand.CommandText = "[HRUpdateEmployee]"
        Me.mEmployeeUpdateCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mEmployeeUpdateCommand.Connection = Me.mConnection
        Me.mEmployeeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mEmployeeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FullName", System.Data.SqlDbType.NVarChar, 128, "FullName"))
        Me.mEmployeeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Position", System.Data.SqlDbType.NVarChar, 128, "Position"))
        Me.mEmployeeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@MasterLevelID", System.Data.SqlDbType.Int, 4, "MasterLevelID"))
        Me.mEmployeeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@SecurityLevel", System.Data.SqlDbType.Int, 4, "SecurityLevel"))
        Me.mEmployeeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Phone", System.Data.SqlDbType.NVarChar, 128, "Phone"))
        Me.mEmployeeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Address", System.Data.SqlDbType.NVarChar, 512, "Address"))
        Me.mEmployeeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Comments", System.Data.SqlDbType.NVarChar, 2048, "Comments"))
        Me.mEmployeeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Password", System.Data.SqlDbType.NVarChar, 64, "Password"))
        Me.mEmployeeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Sys", System.Data.SqlDbType.Bit, 1, "Sys"))
        Me.mEmployeeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsOperator", System.Data.SqlDbType.Bit, 1, "IsOperator"))
        Me.mEmployeeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsAttendant", System.Data.SqlDbType.Bit, 1, "IsAttendant"))
        Me.mEmployeeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Photo", System.Data.SqlDbType.VarBinary, 2147483647, "Photo"))
        Me.mEmployeeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_EmployeeID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "EmployeeID", System.Data.DataRowVersion.Original, Nothing))
        Me.mEmployeeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EmployeeID", System.Data.SqlDbType.Int, 4, "EmployeeID"))
        '
        'mProductDA
        '
        Me.mProductDA.DeleteCommand = Me.mProductDeleteCommand
        Me.mProductDA.InsertCommand = Me.mProductInsertCommand
        Me.mProductDA.SelectCommand = Me.mProductSelectCommand
        Me.mProductDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Product", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("ProductID", "ProductID"), New System.Data.Common.DataColumnMapping("Label", "Label"), New System.Data.Common.DataColumnMapping("Price", "Price"), New System.Data.Common.DataColumnMapping("Type", "Type"), New System.Data.Common.DataColumnMapping("Family", "Family"), New System.Data.Common.DataColumnMapping("Stock", "Stock"), New System.Data.Common.DataColumnMapping("CriticalStock", "CriticalStock"), New System.Data.Common.DataColumnMapping("Comment", "Comment")})})
        Me.mProductDA.UpdateCommand = Me.mProductUpdateCommand
        '
        'mProductDeleteCommand
        '
        Me.mProductDeleteCommand.CommandText = "[HRDeleteProduct]"
        Me.mProductDeleteCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mProductDeleteCommand.Connection = Me.mConnection
        Me.mProductDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mProductDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ProductID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ProductID", System.Data.DataRowVersion.Original, Nothing))
        '
        'mProductInsertCommand
        '
        Me.mProductInsertCommand.CommandText = "[HRAddProduct]"
        Me.mProductInsertCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mProductInsertCommand.Connection = Me.mConnection
        Me.mProductInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mProductInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Label", System.Data.SqlDbType.NVarChar, 128, "Label"))
        Me.mProductInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Price", System.Data.SqlDbType.Money, 8, "Price"))
        Me.mProductInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Type", System.Data.SqlDbType.NVarChar, 128, "Type"))
        Me.mProductInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Family", System.Data.SqlDbType.NVarChar, 128, "Family"))
        Me.mProductInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Stock", System.Data.SqlDbType.Int, 4, "Stock"))
        Me.mProductInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@CriticalStock", System.Data.SqlDbType.Int, 4, "CriticalStock"))
        Me.mProductInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Comment", System.Data.SqlDbType.NVarChar, 512, "Comment"))
        '
        'mProductSelectCommand
        '
        Me.mProductSelectCommand.CommandText = "[HRGetProduct]"
        Me.mProductSelectCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mProductSelectCommand.Connection = Me.mConnection
        Me.mProductSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        '
        'mProductUpdateCommand
        '
        Me.mProductUpdateCommand.CommandText = "[HRUpdateProduct]"
        Me.mProductUpdateCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mProductUpdateCommand.Connection = Me.mConnection
        Me.mProductUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mProductUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Label", System.Data.SqlDbType.NVarChar, 128, "Label"))
        Me.mProductUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Price", System.Data.SqlDbType.Money, 8, "Price"))
        Me.mProductUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Type", System.Data.SqlDbType.NVarChar, 128, "Type"))
        Me.mProductUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Family", System.Data.SqlDbType.NVarChar, 128, "Family"))
        Me.mProductUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Stock", System.Data.SqlDbType.Int, 4, "Stock"))
        Me.mProductUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@CriticalStock", System.Data.SqlDbType.Int, 4, "CriticalStock"))
        Me.mProductUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Comment", System.Data.SqlDbType.NVarChar, 512, "Comment"))
        Me.mProductUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ProductID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ProductID", System.Data.DataRowVersion.Original, Nothing))
        Me.mProductUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ProductID", System.Data.SqlDbType.Int, 4, "ProductID"))
        '
        'mServiceDA
        '
        Me.mServiceDA.DeleteCommand = Me.mServiceDeleteCommand
        Me.mServiceDA.InsertCommand = Me.mServiceInsertCommand
        Me.mServiceDA.SelectCommand = Me.mServiceSelectCommand
        Me.mServiceDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Service", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("ServiceID", "ServiceID"), New System.Data.Common.DataColumnMapping("Label", "Label"), New System.Data.Common.DataColumnMapping("Type", "Type"), New System.Data.Common.DataColumnMapping("Comment", "Comment")})})
        Me.mServiceDA.UpdateCommand = Me.mServiceUpdateCommand
        '
        'mServiceDeleteCommand
        '
        Me.mServiceDeleteCommand.CommandText = "[HRDeleteService]"
        Me.mServiceDeleteCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mServiceDeleteCommand.Connection = Me.mConnection
        Me.mServiceDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mServiceDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ServiceID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ServiceID", System.Data.DataRowVersion.Original, Nothing))
        '
        'mServiceInsertCommand
        '
        Me.mServiceInsertCommand.CommandText = "[HRAddService]"
        Me.mServiceInsertCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mServiceInsertCommand.Connection = Me.mConnection
        Me.mServiceInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mServiceInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Label", System.Data.SqlDbType.NVarChar, 128, "Label"))
        Me.mServiceInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Type", System.Data.SqlDbType.NVarChar, 128, "Type"))
        Me.mServiceInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Comment", System.Data.SqlDbType.NVarChar, 512, "Comment"))
        Me.mServiceInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Color", System.Data.SqlDbType.Int, 0, "Color"))
        Me.mServiceInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@TextColor", System.Data.SqlDbType.Int, 0, "TextColor"))
        '
        'mServiceSelectCommand
        '
        Me.mServiceSelectCommand.CommandText = "[HRGetService]"
        Me.mServiceSelectCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mServiceSelectCommand.Connection = Me.mConnection
        Me.mServiceSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        '
        'mServiceUpdateCommand
        '
        Me.mServiceUpdateCommand.CommandText = "[HRUpdateService]"
        Me.mServiceUpdateCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mServiceUpdateCommand.Connection = Me.mConnection
        Me.mServiceUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mServiceUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Label", System.Data.SqlDbType.NVarChar, 128, "Label"))
        Me.mServiceUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Type", System.Data.SqlDbType.NVarChar, 128, "Type"))
        Me.mServiceUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Comment", System.Data.SqlDbType.NVarChar, 512, "Comment"))
        Me.mServiceUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Color", System.Data.SqlDbType.Int, 0, "Color"))
        Me.mServiceUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@TextColor", System.Data.SqlDbType.Int, 0, "TextColor"))
        Me.mServiceUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ServiceID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ServiceID", System.Data.DataRowVersion.Original, Nothing))
        Me.mServiceUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ServiceID", System.Data.SqlDbType.Int, 4, "ServiceID"))
        '
        'mMasterLevelDA
        '
        Me.mMasterLevelDA.DeleteCommand = Me.mMasterLevelDeleteCommand
        Me.mMasterLevelDA.InsertCommand = Me.mMasterLevelInsertCommand
        Me.mMasterLevelDA.SelectCommand = Me.mMasterLevelSelectCommand
        Me.mMasterLevelDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "MasterLevel", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("MasterLevelID", "MasterLevelID"), New System.Data.Common.DataColumnMapping("LevelName", "LevelName")})})
        Me.mMasterLevelDA.UpdateCommand = Me.mMasterLevelUpdateCommand
        '
        'mMasterLevelDeleteCommand
        '
        Me.mMasterLevelDeleteCommand.CommandText = "[HRDeleteMasterLevel]"
        Me.mMasterLevelDeleteCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mMasterLevelDeleteCommand.Connection = Me.mConnection
        Me.mMasterLevelDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mMasterLevelDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_MasterLevelID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "MasterLevelID", System.Data.DataRowVersion.Original, Nothing))
        '
        'mMasterLevelInsertCommand
        '
        Me.mMasterLevelInsertCommand.CommandText = "[HRAddMasterLevel]"
        Me.mMasterLevelInsertCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mMasterLevelInsertCommand.Connection = Me.mConnection
        Me.mMasterLevelInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mMasterLevelInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@LevelName", System.Data.SqlDbType.NVarChar, 100, "LevelName"))
        '
        'mMasterLevelSelectCommand
        '
        Me.mMasterLevelSelectCommand.CommandText = "[HRGetMasterLevel]"
        Me.mMasterLevelSelectCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mMasterLevelSelectCommand.Connection = Me.mConnection
        Me.mMasterLevelSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        '
        'mMasterLevelUpdateCommand
        '
        Me.mMasterLevelUpdateCommand.CommandText = "[HRUpdateMasterLevel]"
        Me.mMasterLevelUpdateCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mMasterLevelUpdateCommand.Connection = Me.mConnection
        Me.mMasterLevelUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mMasterLevelUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@LevelName", System.Data.SqlDbType.NVarChar, 100, "LevelName"))
        Me.mMasterLevelUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_MasterLevelID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "MasterLevelID", System.Data.DataRowVersion.Original, Nothing))
        Me.mMasterLevelUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@MasterLevelID", System.Data.SqlDbType.Int, 4, "MasterLevelID"))
        '
        'mBillDA
        '
        Me.mBillDA.DeleteCommand = Me.mBillDeleteCommand
        Me.mBillDA.InsertCommand = Me.mBillInsertCommand
        Me.mBillDA.SelectCommand = Me.mBillSelectCommand
        Me.mBillDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Bill", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("BillID", "BillID"), New System.Data.Common.DataColumnMapping("PaymentSumm", "PaymentSumm"), New System.Data.Common.DataColumnMapping("ClientID", "ClientID"), New System.Data.Common.DataColumnMapping("OperatorID", "OperatorID"), New System.Data.Common.DataColumnMapping("CreationTime", "CreationTime")})})
        Me.mBillDA.UpdateCommand = Me.mBillUpdateCommand
        '
        'mBillDeleteCommand
        '
        Me.mBillDeleteCommand.CommandText = "[HRDeleteBill]"
        Me.mBillDeleteCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mBillDeleteCommand.Connection = Me.mConnection
        Me.mBillDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mBillDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_BillID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "BillID", System.Data.DataRowVersion.Original, Nothing))
        '
        'mBillInsertCommand
        '
        Me.mBillInsertCommand.CommandText = "[HRAddBill]"
        Me.mBillInsertCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mBillInsertCommand.Connection = Me.mConnection
        Me.mBillInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mBillInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@PaymentSumm", System.Data.SqlDbType.Float, 8, "PaymentSumm"))
        Me.mBillInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ClientID", System.Data.SqlDbType.Int, 4, "ClientID"))
        Me.mBillInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@OperatorID", System.Data.SqlDbType.Int, 4, "OperatorID"))
        Me.mBillInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@CreationTime", System.Data.SqlDbType.DateTime, 8, "CreationTime"))
        '
        'mBillSelectCommand
        '
        Me.mBillSelectCommand.CommandText = "[HRGetBills]"
        Me.mBillSelectCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mBillSelectCommand.Connection = Me.mConnection
        Me.mBillSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mBillSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ClientID", System.Data.SqlDbType.Int))
        '
        'mBillUpdateCommand
        '
        Me.mBillUpdateCommand.CommandText = "[HRUpdateBill]"
        Me.mBillUpdateCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mBillUpdateCommand.Connection = Me.mConnection
        Me.mBillUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mBillUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@PaymentSumm", System.Data.SqlDbType.Float, 8, "PaymentSumm"))
        Me.mBillUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ClientID", System.Data.SqlDbType.Int, 4, "ClientID"))
        Me.mBillUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@OperatorID", System.Data.SqlDbType.Int, 4, "OperatorID"))
        Me.mBillUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@CreationTime", System.Data.SqlDbType.DateTime, 8, "CreationTime"))
        Me.mBillUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_BillID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "BillID", System.Data.DataRowVersion.Original, Nothing))
        Me.mBillUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@BillID", System.Data.SqlDbType.Int, 4, "BillID"))
        '
        'mServiceParamDA
        '
        Me.mServiceParamDA.DeleteCommand = Me.mServiceParamDeleteCommand
        Me.mServiceParamDA.InsertCommand = Me.mServiceParamInsertCommand
        Me.mServiceParamDA.SelectCommand = Me.mServiceParamSelectCommand
        Me.mServiceParamDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "ServiceParam", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("ServiceParamID", "ServiceParamID"), New System.Data.Common.DataColumnMapping("ServiceID", "ServiceID"), New System.Data.Common.DataColumnMapping("MasterLevelID", "MasterLevelID"), New System.Data.Common.DataColumnMapping("Price", "Price"), New System.Data.Common.DataColumnMapping("Duration", "Duration")})})
        Me.mServiceParamDA.UpdateCommand = Me.mServiceParamUpdateCommand
        '
        'mServiceParamDeleteCommand
        '
        Me.mServiceParamDeleteCommand.CommandText = "[HRDeleteServiceParam]"
        Me.mServiceParamDeleteCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mServiceParamDeleteCommand.Connection = Me.mConnection
        Me.mServiceParamDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mServiceParamDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ServiceParamID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ServiceParamID", System.Data.DataRowVersion.Original, Nothing))
        '
        'mServiceParamInsertCommand
        '
        Me.mServiceParamInsertCommand.CommandText = "[HRAddServiceParam]"
        Me.mServiceParamInsertCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mServiceParamInsertCommand.Connection = Me.mConnection
        Me.mServiceParamInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mServiceParamInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ServiceID", System.Data.SqlDbType.Int, 4, "ServiceID"))
        Me.mServiceParamInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@MasterLevelID", System.Data.SqlDbType.Int, 4, "MasterLevelID"))
        Me.mServiceParamInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Price", System.Data.SqlDbType.Money, 8, "Price"))
        Me.mServiceParamInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Duration", System.Data.SqlDbType.Int, 4, "Duration"))
        '
        'mServiceParamSelectCommand
        '
        Me.mServiceParamSelectCommand.CommandText = "[HRGetServiceParam]"
        Me.mServiceParamSelectCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mServiceParamSelectCommand.Connection = Me.mConnection
        Me.mServiceParamSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        '
        'mServiceParamUpdateCommand
        '
        Me.mServiceParamUpdateCommand.CommandText = "[HRUpdateServiceParam]"
        Me.mServiceParamUpdateCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mServiceParamUpdateCommand.Connection = Me.mConnection
        Me.mServiceParamUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mServiceParamUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ServiceID", System.Data.SqlDbType.Int, 4, "ServiceID"))
        Me.mServiceParamUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@MasterLevelID", System.Data.SqlDbType.Int, 4, "MasterLevelID"))
        Me.mServiceParamUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Price", System.Data.SqlDbType.Money, 8, "Price"))
        Me.mServiceParamUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Duration", System.Data.SqlDbType.Int, 4, "Duration"))
        Me.mServiceParamUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ServiceParamID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ServiceParamID", System.Data.DataRowVersion.Original, Nothing))
        Me.mServiceParamUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ServiceParamID", System.Data.SqlDbType.Int, 4, "ServiceParamID"))
        '
        'mAppointmentDA
        '
        Me.mAppointmentDA.DeleteCommand = Me.mAppointmentDeleteCommand
        Me.mAppointmentDA.InsertCommand = Me.mAppointmentInsertCommand
        Me.mAppointmentDA.SelectCommand = Me.mAppointmentSelectCommand
        Me.mAppointmentDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Appointment", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("AppointmentID", "AppointmentID"), New System.Data.Common.DataColumnMapping("ClientID", "ClientID"), New System.Data.Common.DataColumnMapping("PerformerID", "PerformerID"), New System.Data.Common.DataColumnMapping("OperatorID", "OperatorID"), New System.Data.Common.DataColumnMapping("StartTime", "StartTime"), New System.Data.Common.DataColumnMapping("FinishTime", "FinishTime"), New System.Data.Common.DataColumnMapping("CreationTime", "CreationTime"), New System.Data.Common.DataColumnMapping("ExpectedDuration", "ExpectedDuration"), New System.Data.Common.DataColumnMapping("Comment", "Comment"), New System.Data.Common.DataColumnMapping("BillID", "BillID"), New System.Data.Common.DataColumnMapping("ServiceID", "ServiceID"), New System.Data.Common.DataColumnMapping("ServiceCost", "ServiceCost"), New System.Data.Common.DataColumnMapping("Description", "Description")})})
        Me.mAppointmentDA.UpdateCommand = Me.mAppointmentUpdateCommand
        '
        'mAppointmentDeleteCommand
        '
        Me.mAppointmentDeleteCommand.CommandText = "[HRDeleteAppointments]"
        Me.mAppointmentDeleteCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mAppointmentDeleteCommand.Connection = Me.mConnection
        Me.mAppointmentDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mAppointmentDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_AppointmentID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "AppointmentID", System.Data.DataRowVersion.Original, Nothing))
        '
        'mAppointmentInsertCommand
        '
        Me.mAppointmentInsertCommand.CommandText = "[HRAddAppointment]"
        Me.mAppointmentInsertCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mAppointmentInsertCommand.Connection = Me.mConnection
        Me.mAppointmentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mAppointmentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ClientID", System.Data.SqlDbType.Int, 4, "ClientID"))
        Me.mAppointmentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@PerformerID", System.Data.SqlDbType.Int, 4, "PerformerID"))
        Me.mAppointmentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@OperatorID", System.Data.SqlDbType.Int, 4, "OperatorID"))
        Me.mAppointmentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartTime", System.Data.SqlDbType.DateTime, 8, "StartTime"))
        Me.mAppointmentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FinishTime", System.Data.SqlDbType.DateTime, 8, "FinishTime"))
        Me.mAppointmentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@CreationTime", System.Data.SqlDbType.DateTime, 8, "CreationTime"))
        Me.mAppointmentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ExpectedDuration", System.Data.SqlDbType.Int, 4, "ExpectedDuration"))
        Me.mAppointmentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Comment", System.Data.SqlDbType.NVarChar, 512, "Comment"))
        Me.mAppointmentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@BillID", System.Data.SqlDbType.Int, 4, "BillID"))
        Me.mAppointmentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ServiceID", System.Data.SqlDbType.Int, 4, "ServiceID"))
        Me.mAppointmentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ServiceCost", System.Data.SqlDbType.Money, 4, "ServiceCost"))
        Me.mAppointmentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Description", System.Data.SqlDbType.NVarChar, 512, "Description"))
        '
        'mAppointmentSelectCommand
        '
        Me.mAppointmentSelectCommand.CommandText = "[HRGetAppointments]"
        Me.mAppointmentSelectCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mAppointmentSelectCommand.Connection = Me.mConnection
        Me.mAppointmentSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mAppointmentSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Start", System.Data.SqlDbType.DateTime))
        Me.mAppointmentSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@End", System.Data.SqlDbType.DateTime))
        Me.mAppointmentSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Client", System.Data.SqlDbType.Int))
        Me.mAppointmentSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Performer", System.Data.SqlDbType.Int))
        Me.mAppointmentSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@PendingOnly", System.Data.SqlDbType.Bit))
        '
        'mAppointmentUpdateCommand
        '
        Me.mAppointmentUpdateCommand.CommandText = "[HRUpdateAppointments]"
        Me.mAppointmentUpdateCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mAppointmentUpdateCommand.Connection = Me.mConnection
        Me.mAppointmentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mAppointmentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ClientID", System.Data.SqlDbType.Int, 4, "ClientID"))
        Me.mAppointmentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@PerformerID", System.Data.SqlDbType.Int, 4, "PerformerID"))
        Me.mAppointmentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@OperatorID", System.Data.SqlDbType.Int, 4, "OperatorID"))
        Me.mAppointmentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartTime", System.Data.SqlDbType.DateTime, 8, "StartTime"))
        Me.mAppointmentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FinishTime", System.Data.SqlDbType.DateTime, 8, "FinishTime"))
        Me.mAppointmentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@CreationTime", System.Data.SqlDbType.DateTime, 8, "CreationTime"))
        Me.mAppointmentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ExpectedDuration", System.Data.SqlDbType.Int, 4, "ExpectedDuration"))
        Me.mAppointmentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Comment", System.Data.SqlDbType.NVarChar, 512, "Comment"))
        Me.mAppointmentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@BillID", System.Data.SqlDbType.Int, 4, "BillID"))
        Me.mAppointmentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ServiceID", System.Data.SqlDbType.Int, 4, "ServiceID"))
        Me.mAppointmentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ServiceCost", System.Data.SqlDbType.Money, 4, "ServiceCost"))
        Me.mAppointmentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Description", System.Data.SqlDbType.NVarChar, 512, "Description"))
        Me.mAppointmentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_AppointmentID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "AppointmentID", System.Data.DataRowVersion.Original, Nothing))
        Me.mAppointmentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@AppointmentID", System.Data.SqlDbType.Int, 4, "AppointmentID"))
        '
        'mBillPaymentDA
        '
        Me.mBillPaymentDA.DeleteCommand = Me.mBillPaymentDeleteCommand
        Me.mBillPaymentDA.InsertCommand = Me.mBillPaymentInsertCommand
        Me.mBillPaymentDA.SelectCommand = Me.mBillPaymentSelectCommand
        Me.mBillPaymentDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Payment", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("PaymentID", "PaymentID"), New System.Data.Common.DataColumnMapping("PaymentType", "PaymentType"), New System.Data.Common.DataColumnMapping("CardName", "CardName"), New System.Data.Common.DataColumnMapping("PaymentSumm", "PaymentSumm"), New System.Data.Common.DataColumnMapping("BillID", "BillID")})})
        Me.mBillPaymentDA.UpdateCommand = Me.mBillPaymentUpdateCommand
        '
        'mBillPaymentDeleteCommand
        '
        Me.mBillPaymentDeleteCommand.CommandText = "[HRDeletePayment]"
        Me.mBillPaymentDeleteCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mBillPaymentDeleteCommand.Connection = Me.mConnection
        Me.mBillPaymentDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mBillPaymentDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_PaymentID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "PaymentID", System.Data.DataRowVersion.Original, Nothing))
        '
        'mBillPaymentInsertCommand
        '
        Me.mBillPaymentInsertCommand.CommandText = "[HRAddPayment]"
        Me.mBillPaymentInsertCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mBillPaymentInsertCommand.Connection = Me.mConnection
        Me.mBillPaymentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mBillPaymentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@PaymentType", System.Data.SqlDbType.TinyInt, 1, "PaymentType"))
        Me.mBillPaymentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@CardName", System.Data.SqlDbType.NVarChar, 128, "CardName"))
        Me.mBillPaymentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@PaymentSumm", System.Data.SqlDbType.Float, 8, "PaymentSumm"))
        Me.mBillPaymentInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@BillID", System.Data.SqlDbType.Int, 4, "BillID"))
        '
        'mBillPaymentSelectCommand
        '
        Me.mBillPaymentSelectCommand.CommandText = "[HRGetPayments]"
        Me.mBillPaymentSelectCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mBillPaymentSelectCommand.Connection = Me.mConnection
        Me.mBillPaymentSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        '
        'mBillPaymentUpdateCommand
        '
        Me.mBillPaymentUpdateCommand.CommandText = "[HRUpdatePayment]"
        Me.mBillPaymentUpdateCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mBillPaymentUpdateCommand.Connection = Me.mConnection
        Me.mBillPaymentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mBillPaymentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@PaymentType", System.Data.SqlDbType.TinyInt, 1, "PaymentType"))
        Me.mBillPaymentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@CardName", System.Data.SqlDbType.NVarChar, 128, "CardName"))
        Me.mBillPaymentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@PaymentSumm", System.Data.SqlDbType.Float, 8, "PaymentSumm"))
        Me.mBillPaymentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@BillID", System.Data.SqlDbType.Int, 4, "BillID"))
        Me.mBillPaymentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_PaymentID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "PaymentID", System.Data.DataRowVersion.Original, Nothing))
        Me.mBillPaymentUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@PaymentID", System.Data.SqlDbType.Int, 4, "PaymentID"))
        '
        'mBillProductDA
        '
        Me.mBillProductDA.DeleteCommand = Me.mBillProductDeleteCommand
        Me.mBillProductDA.InsertCommand = Me.mBillProductInsertCommand
        Me.mBillProductDA.SelectCommand = Me.mBillProductSelectCommand
        Me.mBillProductDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "BillProduct", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("BillProductID", "BillProductID"), New System.Data.Common.DataColumnMapping("ProductID", "ProductID"), New System.Data.Common.DataColumnMapping("BillID", "BillID"), New System.Data.Common.DataColumnMapping("Cost", "Cost")})})
        Me.mBillProductDA.UpdateCommand = Me.mBillProductUpdateCommand
        '
        'mBillProductDeleteCommand
        '
        Me.mBillProductDeleteCommand.CommandText = "[HRDeleteBillProduct]"
        Me.mBillProductDeleteCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mBillProductDeleteCommand.Connection = Me.mConnection
        Me.mBillProductDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mBillProductDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_BillProductID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "BillProductID", System.Data.DataRowVersion.Original, Nothing))
        '
        'mBillProductInsertCommand
        '
        Me.mBillProductInsertCommand.CommandText = "[HRAddBillProduct]"
        Me.mBillProductInsertCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mBillProductInsertCommand.Connection = Me.mConnection
        Me.mBillProductInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mBillProductInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ProductID", System.Data.SqlDbType.Int, 4, "ProductID"))
        Me.mBillProductInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@BillID", System.Data.SqlDbType.Int, 4, "BillID"))
        Me.mBillProductInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Cost", System.Data.SqlDbType.Float, 8, "Cost"))
        '
        'mBillProductSelectCommand
        '
        Me.mBillProductSelectCommand.CommandText = "[HRGetBillProducts]"
        Me.mBillProductSelectCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mBillProductSelectCommand.Connection = Me.mConnection
        Me.mBillProductSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        '
        'mBillProductUpdateCommand
        '
        Me.mBillProductUpdateCommand.CommandText = "[HRUpdateBillProduct]"
        Me.mBillProductUpdateCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mBillProductUpdateCommand.Connection = Me.mConnection
        Me.mBillProductUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mBillProductUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ProductID", System.Data.SqlDbType.Int, 4, "ProductID"))
        Me.mBillProductUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@BillID", System.Data.SqlDbType.Int, 4, "BillID"))
        Me.mBillProductUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Cost", System.Data.SqlDbType.Float, 8, "Cost"))
        Me.mBillProductUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_BillProductID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "BillProductID", System.Data.DataRowVersion.Original, Nothing))
        Me.mBillProductUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@BillProductID", System.Data.SqlDbType.Int, 4, "BillProductID"))
        '
        'mPCBillDA
        '
        Me.mPCBillDA.DeleteCommand = Me.mPCBillDADeleteCommand
        Me.mPCBillDA.InsertCommand = Me.mPCBillDAInsertCommand
        Me.mPCBillDA.SelectCommand = Me.mPCBillDASelectCommand
        Me.mPCBillDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "BillNoSale", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("BillNoSaleID", "BillNoSaleID"), New System.Data.Common.DataColumnMapping("PaymentSum", "PaymentSum"), New System.Data.Common.DataColumnMapping("Comment", "Comment"), New System.Data.Common.DataColumnMapping("EmployeeID", "EmployeeID"), New System.Data.Common.DataColumnMapping("CreationTime", "CreationTime"), New System.Data.Common.DataColumnMapping("OperatorID", "OperatorID")})})
        Me.mPCBillDA.UpdateCommand = Me.mPCBillDAUpdateCommand
        '
        'mPCBillDADeleteCommand
        '
        Me.mPCBillDADeleteCommand.CommandText = "[HRDeletePettyCashBills]"
        Me.mPCBillDADeleteCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mPCBillDADeleteCommand.Connection = Me.mConnection
        Me.mPCBillDADeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mPCBillDADeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_BillNoSaleID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "BillNoSaleID", System.Data.DataRowVersion.Original, Nothing))
        '
        'mPCBillDAInsertCommand
        '
        Me.mPCBillDAInsertCommand.CommandText = "[HRAddPettyCashBills]"
        Me.mPCBillDAInsertCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mPCBillDAInsertCommand.Connection = Me.mConnection
        Me.mPCBillDAInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mPCBillDAInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@PaymentSum", System.Data.SqlDbType.Float, 8, "PaymentSum"))
        Me.mPCBillDAInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Comment", System.Data.SqlDbType.NVarChar, 512, "Comment"))
        Me.mPCBillDAInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EmployeeID", System.Data.SqlDbType.Int, 4, "EmployeeID"))
        Me.mPCBillDAInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@CreationTime", System.Data.SqlDbType.DateTime, 8, "CreationTime"))
        Me.mPCBillDAInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@OperatorID", System.Data.SqlDbType.Int, 4, "OperatorID"))
        '
        'mPCBillDASelectCommand
        '
        Me.mPCBillDASelectCommand.CommandText = "[HRGetPettyCashBills]"
        Me.mPCBillDASelectCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mPCBillDASelectCommand.Connection = Me.mConnection
        Me.mPCBillDASelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        '
        'mPCBillDAUpdateCommand
        '
        Me.mPCBillDAUpdateCommand.CommandText = "[HRUpdatePettyCashBills]"
        Me.mPCBillDAUpdateCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mPCBillDAUpdateCommand.Connection = Me.mConnection
        Me.mPCBillDAUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mPCBillDAUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@PaymentSum", System.Data.SqlDbType.Float, 8, "PaymentSum"))
        Me.mPCBillDAUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Comment", System.Data.SqlDbType.NVarChar, 512, "Comment"))
        Me.mPCBillDAUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EmployeeID", System.Data.SqlDbType.Int, 4, "EmployeeID"))
        Me.mPCBillDAUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@CreationTime", System.Data.SqlDbType.DateTime, 8, "CreationTime"))
        Me.mPCBillDAUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@OperatorID", System.Data.SqlDbType.Int, 4, "OperatorID"))
        Me.mPCBillDAUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_BillNoSaleID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "BillNoSaleID", System.Data.DataRowVersion.Original, Nothing))
        Me.mPCBillDAUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@BillNoSaleID", System.Data.SqlDbType.Int, 4, "BillNoSaleID"))
        '
        'mEDAutitDA
        '
        Me.mEDAutitDA.SelectCommand = Me.mEDAutitCommand
        Me.mEDAutitDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Client", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("Date", "Date"), New System.Data.Common.DataColumnMapping("Time", "Time"), New System.Data.Common.DataColumnMapping("Customer Name", "Customer Name"), New System.Data.Common.DataColumnMapping("Cash", "Cash"), New System.Data.Common.DataColumnMapping("On Account", "On Account"), New System.Data.Common.DataColumnMapping("Gift Cert", "Gift Cert"), New System.Data.Common.DataColumnMapping("Cheque", "Cheque"), New System.Data.Common.DataColumnMapping("Electron", "Electron"), New System.Data.Common.DataColumnMapping("Visa", "Visa"), New System.Data.Common.DataColumnMapping("Delta", "Delta"), New System.Data.Common.DataColumnMapping("Other", "Other")})})
        '
        'mEDAutitCommand
        '
        Me.mEDAutitCommand.CommandText = "[HRAuditDayReport]"
        Me.mEDAutitCommand.CommandTimeout = 0
        Me.mEDAutitCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mEDAutitCommand.Connection = Me.mConnection
        Me.mEDAutitCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mEDAutitCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartDate", System.Data.SqlDbType.DateTime))
        Me.mEDAutitCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EndDate", System.Data.SqlDbType.DateTime))
        '
        'mEDPropertiesDA
        '
        Me.mEDPropertiesDA.SelectCommand = Me.mEDPropertiesCommand
        Me.mEDPropertiesDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Client", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("Date", "Date"), New System.Data.Common.DataColumnMapping("Time", "Time"), New System.Data.Common.DataColumnMapping("Customer Name", "Customer Name"), New System.Data.Common.DataColumnMapping("Cash", "Cash"), New System.Data.Common.DataColumnMapping("On Account", "On Account"), New System.Data.Common.DataColumnMapping("Gift Cert", "Gift Cert"), New System.Data.Common.DataColumnMapping("Cheque", "Cheque"), New System.Data.Common.DataColumnMapping("Electron", "Electron"), New System.Data.Common.DataColumnMapping("Visa", "Visa"), New System.Data.Common.DataColumnMapping("Delta", "Delta"), New System.Data.Common.DataColumnMapping("Other", "Other")})})
        '
        'mEDPropertiesCommand
        '
        Me.mEDPropertiesCommand.CommandText = "[HRPropertiesDayReport]"
        Me.mEDPropertiesCommand.CommandTimeout = 0
        Me.mEDPropertiesCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mEDPropertiesCommand.Connection = Me.mConnection
        Me.mEDPropertiesCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mEDPropertiesCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartDate", System.Data.SqlDbType.DateTime))
        Me.mEDPropertiesCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EndDate", System.Data.SqlDbType.DateTime))
        '
        'mEDPaymentDA
        '
        Me.mEDPaymentDA.SelectCommand = Me.mEDPaymentCommand
        Me.mEDPaymentDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Client", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("Date", "Date"), New System.Data.Common.DataColumnMapping("Time", "Time"), New System.Data.Common.DataColumnMapping("Customer Name", "Customer Name"), New System.Data.Common.DataColumnMapping("Cash", "Cash"), New System.Data.Common.DataColumnMapping("On Account", "On Account"), New System.Data.Common.DataColumnMapping("Gift Cert", "Gift Cert"), New System.Data.Common.DataColumnMapping("Cheque", "Cheque"), New System.Data.Common.DataColumnMapping("Electron", "Electron"), New System.Data.Common.DataColumnMapping("Visa", "Visa"), New System.Data.Common.DataColumnMapping("Delta", "Delta"), New System.Data.Common.DataColumnMapping("Other", "Other")})})
        '
        'mEDPaymentCommand
        '
        Me.mEDPaymentCommand.CommandText = "[HRPaymentDayReport]"
        Me.mEDPaymentCommand.CommandTimeout = 0
        Me.mEDPaymentCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mEDPaymentCommand.Connection = Me.mConnection
        Me.mEDPaymentCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mEDPaymentCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartDate", System.Data.SqlDbType.DateTime))
        Me.mEDPaymentCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EndDate", System.Data.SqlDbType.DateTime))
        '
        'mFREmployeeDA
        '
        Me.mFREmployeeDA.SelectCommand = Me.mFREmployeeCommand
        Me.mFREmployeeDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Client", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("Date", "Date"), New System.Data.Common.DataColumnMapping("Time", "Time"), New System.Data.Common.DataColumnMapping("Customer Name", "Customer Name"), New System.Data.Common.DataColumnMapping("Cash", "Cash"), New System.Data.Common.DataColumnMapping("On Account", "On Account"), New System.Data.Common.DataColumnMapping("Gift Cert", "Gift Cert"), New System.Data.Common.DataColumnMapping("Cheque", "Cheque"), New System.Data.Common.DataColumnMapping("Electron", "Electron"), New System.Data.Common.DataColumnMapping("Visa", "Visa"), New System.Data.Common.DataColumnMapping("Delta", "Delta"), New System.Data.Common.DataColumnMapping("Other", "Other")})})
        '
        'mFREmployeeCommand
        '
        Me.mFREmployeeCommand.CommandText = "[HREmployeeFullReport]"
        Me.mFREmployeeCommand.CommandTimeout = 0
        Me.mFREmployeeCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mFREmployeeCommand.Connection = Me.mConnection
        Me.mFREmployeeCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mFREmployeeCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartDate", System.Data.SqlDbType.DateTime))
        Me.mFREmployeeCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EndDate", System.Data.SqlDbType.DateTime))
        '
        'mFRServiceDA
        '
        Me.mFRServiceDA.SelectCommand = Me.mFRServiceCommand
        Me.mFRServiceDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Client", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("Date", "Date"), New System.Data.Common.DataColumnMapping("Time", "Time"), New System.Data.Common.DataColumnMapping("Customer Name", "Customer Name"), New System.Data.Common.DataColumnMapping("Cash", "Cash"), New System.Data.Common.DataColumnMapping("On Account", "On Account"), New System.Data.Common.DataColumnMapping("Gift Cert", "Gift Cert"), New System.Data.Common.DataColumnMapping("Cheque", "Cheque"), New System.Data.Common.DataColumnMapping("Electron", "Electron"), New System.Data.Common.DataColumnMapping("Visa", "Visa"), New System.Data.Common.DataColumnMapping("Delta", "Delta"), New System.Data.Common.DataColumnMapping("Other", "Other")})})
        '
        'mFRServiceCommand
        '
        Me.mFRServiceCommand.CommandText = "[HRServiceFullReport]"
        Me.mFRServiceCommand.CommandTimeout = 0
        Me.mFRServiceCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mFRServiceCommand.Connection = Me.mConnection
        Me.mFRServiceCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mFRServiceCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartDate", System.Data.SqlDbType.DateTime))
        Me.mFRServiceCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EndDate", System.Data.SqlDbType.DateTime))
        '
        'mFRProductDA
        '
        Me.mFRProductDA.SelectCommand = Me.mFRProductCommand
        Me.mFRProductDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Client", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("Date", "Date"), New System.Data.Common.DataColumnMapping("Time", "Time"), New System.Data.Common.DataColumnMapping("Customer Name", "Customer Name"), New System.Data.Common.DataColumnMapping("Cash", "Cash"), New System.Data.Common.DataColumnMapping("On Account", "On Account"), New System.Data.Common.DataColumnMapping("Gift Cert", "Gift Cert"), New System.Data.Common.DataColumnMapping("Cheque", "Cheque"), New System.Data.Common.DataColumnMapping("Electron", "Electron"), New System.Data.Common.DataColumnMapping("Visa", "Visa"), New System.Data.Common.DataColumnMapping("Delta", "Delta"), New System.Data.Common.DataColumnMapping("Other", "Other")})})
        '
        'mFRProductCommand
        '
        Me.mFRProductCommand.CommandText = "[HRProductFullReport]"
        Me.mFRProductCommand.CommandTimeout = 0
        Me.mFRProductCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mFRProductCommand.Connection = Me.mConnection
        Me.mFRProductCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mFRProductCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartDate", System.Data.SqlDbType.DateTime))
        Me.mFRProductCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EndDate", System.Data.SqlDbType.DateTime))
        '
        'mQREmployeeDA
        '
        Me.mQREmployeeDA.SelectCommand = Me.mQREmployeeCommand
        Me.mQREmployeeDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Client", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("Date", "Date"), New System.Data.Common.DataColumnMapping("Time", "Time"), New System.Data.Common.DataColumnMapping("Customer Name", "Customer Name"), New System.Data.Common.DataColumnMapping("Cash", "Cash"), New System.Data.Common.DataColumnMapping("On Account", "On Account"), New System.Data.Common.DataColumnMapping("Gift Cert", "Gift Cert"), New System.Data.Common.DataColumnMapping("Cheque", "Cheque"), New System.Data.Common.DataColumnMapping("Electron", "Electron"), New System.Data.Common.DataColumnMapping("Visa", "Visa"), New System.Data.Common.DataColumnMapping("Delta", "Delta"), New System.Data.Common.DataColumnMapping("Other", "Other")})})
        '
        'mQREmployeeCommand
        '
        Me.mQREmployeeCommand.CommandText = "[HREmployeeQuickReport]"
        Me.mQREmployeeCommand.CommandTimeout = 0
        Me.mQREmployeeCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mQREmployeeCommand.Connection = Me.mConnection
        Me.mQREmployeeCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mQREmployeeCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartDate", System.Data.SqlDbType.DateTime))
        Me.mQREmployeeCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EndDate", System.Data.SqlDbType.DateTime))
        '
        'mScheduleDA
        '
        Me.mScheduleDA.DeleteCommand = Me.mScheduleDeleteCommand
        Me.mScheduleDA.InsertCommand = Me.mScheduleInsertCommand
        Me.mScheduleDA.SelectCommand = Me.mScheduleSelectCommand
        Me.mScheduleDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Schedule", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("ScheduleID", "ScheduleID"), New System.Data.Common.DataColumnMapping("StartTime", "StartTime"), New System.Data.Common.DataColumnMapping("FinishTime", "FinishTime"), New System.Data.Common.DataColumnMapping("Busy", "Busy"), New System.Data.Common.DataColumnMapping("Period", "Period"), New System.Data.Common.DataColumnMapping("DayOfWeek", "DayOfWeek"), New System.Data.Common.DataColumnMapping("DayOfMonth", "DayOfMonth"), New System.Data.Common.DataColumnMapping("ExactDate", "ExactDate"), New System.Data.Common.DataColumnMapping("Descript", "Descript"), New System.Data.Common.DataColumnMapping("EmployeeID", "EmployeeID")})})
        Me.mScheduleDA.UpdateCommand = Me.mScheduleUpdateCommand
        '
        'mScheduleDeleteCommand
        '
        Me.mScheduleDeleteCommand.CommandText = "[HRDeleteSchedule]"
        Me.mScheduleDeleteCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mScheduleDeleteCommand.Connection = Me.mConnection
        Me.mScheduleDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mScheduleDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ScheduleID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ScheduleID", System.Data.DataRowVersion.Original, Nothing))
        '
        'mScheduleInsertCommand
        '
        Me.mScheduleInsertCommand.CommandText = "[HRAddSchedule]"
        Me.mScheduleInsertCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mScheduleInsertCommand.Connection = Me.mConnection
        Me.mScheduleInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mScheduleInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartTime", System.Data.SqlDbType.Int, 4, "StartTime"))
        Me.mScheduleInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FinishTime", System.Data.SqlDbType.Int, 4, "FinishTime"))
        Me.mScheduleInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Busy", System.Data.SqlDbType.Bit, 1, "Busy"))
        Me.mScheduleInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Period", System.Data.SqlDbType.TinyInt, 1, "Period"))
        Me.mScheduleInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DayOfWeek", System.Data.SqlDbType.TinyInt, 1, "DayOfWeek"))
        Me.mScheduleInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DayOfMonth", System.Data.SqlDbType.Int, 4, "DayOfMonth"))
        Me.mScheduleInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ExactDate", System.Data.SqlDbType.DateTime, 8, "ExactDate"))
        Me.mScheduleInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Descript", System.Data.SqlDbType.NVarChar, 512, "Descript"))
        Me.mScheduleInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EmployeeID", System.Data.SqlDbType.Int, 4, "EmployeeID"))
        '
        'mScheduleSelectCommand
        '
        Me.mScheduleSelectCommand.CommandText = "[HRGetSchedule]"
        Me.mScheduleSelectCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mScheduleSelectCommand.Connection = Me.mConnection
        Me.mScheduleSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mScheduleSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartDate", System.Data.SqlDbType.DateTime))
        Me.mScheduleSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EndDate", System.Data.SqlDbType.DateTime))
        '
        'mScheduleUpdateCommand
        '
        Me.mScheduleUpdateCommand.CommandText = "[HRUpdateSchedule]"
        Me.mScheduleUpdateCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mScheduleUpdateCommand.Connection = Me.mConnection
        Me.mScheduleUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mScheduleUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartTime", System.Data.SqlDbType.Int, 4, "StartTime"))
        Me.mScheduleUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FinishTime", System.Data.SqlDbType.Int, 4, "FinishTime"))
        Me.mScheduleUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Busy", System.Data.SqlDbType.Bit, 1, "Busy"))
        Me.mScheduleUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Period", System.Data.SqlDbType.TinyInt, 1, "Period"))
        Me.mScheduleUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DayOfWeek", System.Data.SqlDbType.TinyInt, 1, "DayOfWeek"))
        Me.mScheduleUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DayOfMonth", System.Data.SqlDbType.Int, 4, "DayOfMonth"))
        Me.mScheduleUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ExactDate", System.Data.SqlDbType.DateTime, 8, "ExactDate"))
        Me.mScheduleUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Descript", System.Data.SqlDbType.NVarChar, 512, "Descript"))
        Me.mScheduleUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EmployeeID", System.Data.SqlDbType.Int, 4, "EmployeeID"))
        Me.mScheduleUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ScheduleID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ScheduleID", System.Data.DataRowVersion.Original, Nothing))
        Me.mScheduleUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ScheduleID", System.Data.SqlDbType.Int, 4, "ScheduleID"))
        '
        'mSalonTimeDA
        '
        Me.mSalonTimeDA.DeleteCommand = Me.mSalonTimeDeleteCommand
        Me.mSalonTimeDA.InsertCommand = Me.mSalonTimeInsertCommand
        Me.mSalonTimeDA.SelectCommand = Me.mSalonTimeSelectCommand
        Me.mSalonTimeDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Schedule", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("ScheduleID", "ScheduleID"), New System.Data.Common.DataColumnMapping("StartTime", "StartTime"), New System.Data.Common.DataColumnMapping("FinishTime", "FinishTime"), New System.Data.Common.DataColumnMapping("DayOfWeek", "DayOfWeek")})})
        Me.mSalonTimeDA.UpdateCommand = Me.mSalonTimeUpdateCommand
        '
        'mSalonTimeDeleteCommand
        '
        Me.mSalonTimeDeleteCommand.CommandText = "[HRDeleteSalonTime]"
        Me.mSalonTimeDeleteCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mSalonTimeDeleteCommand.Connection = Me.mConnection
        Me.mSalonTimeDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mSalonTimeDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ScheduleID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ScheduleID", System.Data.DataRowVersion.Original, Nothing))
        '
        'mSalonTimeInsertCommand
        '
        Me.mSalonTimeInsertCommand.CommandText = "[HRAddSalonTime]"
        Me.mSalonTimeInsertCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mSalonTimeInsertCommand.Connection = Me.mConnection
        Me.mSalonTimeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mSalonTimeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartTime", System.Data.SqlDbType.Int, 4, "StartTime"))
        Me.mSalonTimeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FinishTime", System.Data.SqlDbType.Int, 4, "FinishTime"))
        Me.mSalonTimeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DayOfWeek", System.Data.SqlDbType.TinyInt, 1, "DayOfWeek"))
        '
        'mSalonTimeSelectCommand
        '
        Me.mSalonTimeSelectCommand.CommandText = "[HRGetSalonTimes]"
        Me.mSalonTimeSelectCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mSalonTimeSelectCommand.Connection = Me.mConnection
        Me.mSalonTimeSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        '
        'mSalonTimeUpdateCommand
        '
        Me.mSalonTimeUpdateCommand.CommandText = "[HRUpdateSalonTime]"
        Me.mSalonTimeUpdateCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mSalonTimeUpdateCommand.Connection = Me.mConnection
        Me.mSalonTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mSalonTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartTime", System.Data.SqlDbType.Int, 4, "StartTime"))
        Me.mSalonTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FinishTime", System.Data.SqlDbType.Int, 4, "FinishTime"))
        Me.mSalonTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DayOfWeek", System.Data.SqlDbType.TinyInt, 1, "DayOfWeek"))
        Me.mSalonTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ScheduleID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ScheduleID", System.Data.DataRowVersion.Original, Nothing))
        Me.mSalonTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ScheduleID", System.Data.SqlDbType.Int, 4, "ScheduleID"))
        '
        'mEmployeeTimeDA
        '
        Me.mEmployeeTimeDA.DeleteCommand = Me.mEmployeeTimeDeleteCommand
        Me.mEmployeeTimeDA.InsertCommand = Me.mEmployeeTimeInsertCommand
        Me.mEmployeeTimeDA.SelectCommand = Me.mEmployeeTimeSelectCommand
        Me.mEmployeeTimeDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Schedule", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("ScheduleID", "ScheduleID"), New System.Data.Common.DataColumnMapping("StartTime", "StartTime"), New System.Data.Common.DataColumnMapping("FinishTime", "FinishTime"), New System.Data.Common.DataColumnMapping("EmployeeID", "EmployeeID"), New System.Data.Common.DataColumnMapping("DayOfWeek", "DayOfWeek")})})
        Me.mEmployeeTimeDA.UpdateCommand = Me.mEmployeeTimeUpdateCommand
        '
        'mEmployeeTimeDeleteCommand
        '
        Me.mEmployeeTimeDeleteCommand.CommandText = "[HRDeleteEmployeeTime]"
        Me.mEmployeeTimeDeleteCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mEmployeeTimeDeleteCommand.Connection = Me.mConnection
        Me.mEmployeeTimeDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mEmployeeTimeDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ScheduleID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ScheduleID", System.Data.DataRowVersion.Original, Nothing))
        '
        'mEmployeeTimeInsertCommand
        '
        Me.mEmployeeTimeInsertCommand.CommandText = "[HRAddEmployeeTime]"
        Me.mEmployeeTimeInsertCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mEmployeeTimeInsertCommand.Connection = Me.mConnection
        Me.mEmployeeTimeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mEmployeeTimeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartTime", System.Data.SqlDbType.Int, 4, "StartTime"))
        Me.mEmployeeTimeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FinishTime", System.Data.SqlDbType.Int, 4, "FinishTime"))
        Me.mEmployeeTimeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EmployeeID", System.Data.SqlDbType.Int, 4, "EmployeeID"))
        Me.mEmployeeTimeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DayOfWeek", System.Data.SqlDbType.TinyInt, 1, "DayOfWeek"))
        '
        'mEmployeeTimeSelectCommand
        '
        Me.mEmployeeTimeSelectCommand.CommandText = "[HRGetEmployeeTimes]"
        Me.mEmployeeTimeSelectCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mEmployeeTimeSelectCommand.Connection = Me.mConnection
        Me.mEmployeeTimeSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        '
        'mEmployeeTimeUpdateCommand
        '
        Me.mEmployeeTimeUpdateCommand.CommandText = "[HRUpdateEmployeeTime]"
        Me.mEmployeeTimeUpdateCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mEmployeeTimeUpdateCommand.Connection = Me.mConnection
        Me.mEmployeeTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mEmployeeTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartTime", System.Data.SqlDbType.Int, 4, "StartTime"))
        Me.mEmployeeTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FinishTime", System.Data.SqlDbType.Int, 4, "FinishTime"))
        Me.mEmployeeTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EmployeeID", System.Data.SqlDbType.Int, 4, "EmployeeID"))
        Me.mEmployeeTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DayOfWeek", System.Data.SqlDbType.TinyInt, 1, "DayOfWeek"))
        Me.mEmployeeTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ScheduleID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ScheduleID", System.Data.DataRowVersion.Original, Nothing))
        Me.mEmployeeTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ScheduleID", System.Data.SqlDbType.Int, 4, "ScheduleID"))
        '
        'mBusyTimeDA
        '
        Me.mBusyTimeDA.DeleteCommand = Me.mBusyTimeDeleteCommand
        Me.mBusyTimeDA.InsertCommand = Me.mBusyTimeInsertCommand
        Me.mBusyTimeDA.SelectCommand = Me.mBusyTimeSelectCommand
        Me.mBusyTimeDA.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Schedule", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("ScheduleID", "ScheduleID"), New System.Data.Common.DataColumnMapping("StartTime", "StartTime"), New System.Data.Common.DataColumnMapping("FinishTime", "FinishTime"), New System.Data.Common.DataColumnMapping("ExactDate", "ExactDate"), New System.Data.Common.DataColumnMapping("Descript", "Descript"), New System.Data.Common.DataColumnMapping("EmployeeID", "EmployeeID")})})
        Me.mBusyTimeDA.UpdateCommand = Me.mBusyTimeUpdateCommand
        '
        'mBusyTimeDeleteCommand
        '
        Me.mBusyTimeDeleteCommand.CommandText = "[HRDeleteBusyTime]"
        Me.mBusyTimeDeleteCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mBusyTimeDeleteCommand.Connection = Me.mConnection
        Me.mBusyTimeDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mBusyTimeDeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ScheduleID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ScheduleID", System.Data.DataRowVersion.Original, Nothing))
        '
        'mBusyTimeInsertCommand
        '
        Me.mBusyTimeInsertCommand.CommandText = "[HRAddBusyTime]"
        Me.mBusyTimeInsertCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mBusyTimeInsertCommand.Connection = Me.mConnection
        Me.mBusyTimeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mBusyTimeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Busy", System.Data.SqlDbType.Bit, 0, "Busy"))
        Me.mBusyTimeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartTime", System.Data.SqlDbType.Int, 4, "StartTime"))
        Me.mBusyTimeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FinishTime", System.Data.SqlDbType.Int, 4, "FinishTime"))
        Me.mBusyTimeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ExactDate", System.Data.SqlDbType.DateTime, 8, "ExactDate"))
        Me.mBusyTimeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Descript", System.Data.SqlDbType.NVarChar, 512, "Descript"))
        Me.mBusyTimeInsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EmployeeID", System.Data.SqlDbType.Int, 4, "EmployeeID"))
        '
        'mBusyTimeSelectCommand
        '
        Me.mBusyTimeSelectCommand.CommandText = "[HRGetBusyTimes]"
        Me.mBusyTimeSelectCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mBusyTimeSelectCommand.Connection = Me.mConnection
        Me.mBusyTimeSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EmployeeID", System.Data.SqlDbType.Int))
        Me.mBusyTimeSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartTime", System.Data.SqlDbType.DateTime))
        Me.mBusyTimeSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EndTime", System.Data.SqlDbType.DateTime))
        Me.mBusyTimeSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Busy", System.Data.SqlDbType.Bit, 0, "Busy"))
        Me.mBusyTimeSelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        '
        'mBusyTimeUpdateCommand
        '
        Me.mBusyTimeUpdateCommand.CommandText = "[HRUpdateBusyTime]"
        Me.mBusyTimeUpdateCommand.CommandType = System.Data.CommandType.StoredProcedure
        Me.mBusyTimeUpdateCommand.Connection = Me.mConnection
        Me.mBusyTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing))
        Me.mBusyTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Busy", System.Data.SqlDbType.Bit, 0, "Busy"))
        Me.mBusyTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@StartTime", System.Data.SqlDbType.Int, 4, "StartTime"))
        Me.mBusyTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@FinishTime", System.Data.SqlDbType.Int, 4, "FinishTime"))
        Me.mBusyTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ExactDate", System.Data.SqlDbType.DateTime, 8, "ExactDate"))
        Me.mBusyTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Descript", System.Data.SqlDbType.NVarChar, 512, "Descript"))
        Me.mBusyTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@EmployeeID", System.Data.SqlDbType.Int, 4, "EmployeeID"))
        Me.mBusyTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ScheduleID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ScheduleID", System.Data.DataRowVersion.Original, Nothing))
        Me.mBusyTimeUpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ScheduleID", System.Data.SqlDbType.Int, 4, "ScheduleID"))
        CType(Me.mDataDS, System.ComponentModel.ISupportInitialize).EndInit()

    End Sub

#End Region

#Region " Initialization "
    ''' <summary>
    ''' Initializes a new instance of the DataLayer class with a specified connection string.
    ''' </summary>
    ''' <param name="connectionString">The connection string to the application database.</param>
    Public Sub New(ByVal connectionString As String)
        MyClass.New()
        Try
            mConnection.ConnectionString = connectionString
            PreloadData()
        Catch ex As Exception
            Throw New DataAccessException(Res.DatabaseConnectionFailed, ex)
        End Try
    End Sub

    Private Sub PreloadData()
        Try
            mClientDA.Fill(Clients)
            mMasterLevelDA.Fill(MasterLevels)
            mEmployeeDA.Fill(Employees)
            mEmployeeTimeDA.Fill(EmployeeTimes)
            mProductDA.Fill(Products)
            mServiceDA.Fill(Services)
            mServiceParamDA.Fill(ServiceParams)
            mSalonTimeDA.Fill(SalonTimes)
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
    End Sub

    Public ReadOnly Property Data() As DataSetData
        Get
            Return mDataDS
        End Get
    End Property

#End Region

#Region " Transaction "
    Private mTransaction As SqlTransaction

    Public ReadOnly Property Transaction() As SqlTransaction
        Get
            Return mTransaction
        End Get
    End Property

    Public Delegate Sub TransactionWork()
    Public Event TransactionStarted As EventHandler
    Public Event TransactionCommitted As EventHandler
    Public Event TransactionRollbacked As EventHandler


    Private Sub OnTransactionStarted()
        Try
            RaiseEvent TransactionStarted(Me, EventArgs.Empty)
        Catch ex As Exception
            Debug.WriteLine(ex)
        End Try
    End Sub

    Private Sub OnTransactionCommitted()
        Try
            RaiseEvent TransactionCommitted(Me, EventArgs.Empty)
        Catch ex As Exception
            Debug.WriteLine(ex)
        End Try
    End Sub

    Private Sub OnTransactionRollbacked()
        Try
            RaiseEvent TransactionRollbacked(Me, EventArgs.Empty)
        Catch ex As Exception
            Debug.WriteLine(ex)
        End Try
    End Sub

    Public Sub BeginTransaction()
        Debug.Assert(mTransaction Is Nothing, "The transaction is already started")
        mConnection.Open()
        Try
            mTransaction = mConnection.BeginTransaction()
            OnTransactionStarted()
        Catch ex As Exception
            mConnection.Close()
            Throw New DataAccessException(ex)
        End Try
    End Sub

    Public Sub CommitTransaction()
        Debug.Assert(Not mTransaction Is Nothing, "The transaction has not been started")
        Try
            mTransaction.Commit()
            OnTransactionCommitted()
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
        mTransaction = Nothing
        mConnection.Close()
    End Sub

    Public Sub RollbackTransaction()
        Debug.Assert(Not mTransaction Is Nothing, "The transaction has not been started")
        Try
            mTransaction.Rollback()
        Catch ex As Exception
            Debug.WriteLine(String.Format("The exception is raised during rollback transaction: {0}", ex))
        Finally
            mTransaction = Nothing
            mConnection.Close()
        End Try
        OnTransactionRollbacked()
    End Sub

    Private Sub AttachToTransaction(ByVal cmd As SqlCommand)
        If Not cmd Is Nothing Then cmd.Transaction = mTransaction
    End Sub

    Private Sub AttachToTransaction(ByVal da As SqlDataAdapter)
        AttachToTransaction(da.SelectCommand)
        AttachToTransaction(da.DeleteCommand)
        AttachToTransaction(da.InsertCommand)
        AttachToTransaction(da.UpdateCommand)
    End Sub



    Public Sub DoInTransaction(ByVal Work As TransactionWork)
        BeginTransaction()
        Try
            Work()
            CommitTransaction()
        Catch ex As Exception
            Try
                RollbackTransaction()
            Catch
            End Try
            Throw New DataAccessException(ex)
        End Try
    End Sub
#End Region

#Region " DataSetData Operations "

    Public ReadOnly Property Clients() As DataSetData.ClientsDataTable
        Get
            Return Data.Clients
        End Get
    End Property

    Public Sub UpdateClient(ByVal cl As DataSetData.Client)
        Try
            AttachToTransaction(mClientDA)
            mClientDA.Update(New DataSetData.Client() {cl})
        Catch e As Exception
            Throw New DataAccessException(e)
        End Try
    End Sub

    Public ReadOnly Property Employees() As DataSetData.EmployeesDataTable
        Get
            Return Data.Employees
        End Get
    End Property

    Public Sub UpdateEmployee(ByVal em As DataSetData.Employee)
        Try
            AttachToTransaction(mEmployeeDA)
            mEmployeeDA.Update(New DataSetData.Employee() {em})
        Catch e As Exception
            Throw New DataAccessException(e)
        End Try
    End Sub

    Public ReadOnly Property Products() As DataSetData.ProductsDataTable
        Get
            Return Data.Products
        End Get
    End Property

    Public Sub UpdateProduct(ByVal pr As DataSetData.Product)
        Try
            AttachToTransaction(mProductDA)
            mProductDA.Update(New DataSetData.Product() {pr})
        Catch e As Exception
            Throw New DataAccessException(e)
        End Try
    End Sub

    Public ReadOnly Property Services() As DataSetData.ServicesDataTable
        Get
            Return Data.Services
        End Get
    End Property

    Public Sub UpdateService(ByVal srv As DataSetData.Service)
        Try
            AttachToTransaction(mServiceDA)
            mServiceDA.Update(New DataSetData.Service() {srv})
        Catch e As Exception
            Throw New DataAccessException(e)
        End Try
    End Sub

    Public ReadOnly Property MasterLevels() As DataSetData.MasterlevelsDataTable
        Get
            Return Data.Masterlevels
        End Get
    End Property

    Public Sub UpdateMasterLevel(ByVal srv As DataSetData.MasterLevel)
        Try
            AttachToTransaction(mMasterLevelDA)
            mMasterLevelDA.Update(New DataSetData.MasterLevel() {srv})
        Catch e As Exception
            Throw New DataAccessException(e)
        End Try
    End Sub


    Public ReadOnly Property EmployeeTimes() As DataSetData.EmployeeTimesDataTable
        Get
            Return Data.EmployeeTimes
        End Get
    End Property


    Public Sub UpdateEmployeeTimes(ByVal times As DataSetData.EmployeeTimesDataTable)
        Try
            AttachToTransaction(mEmployeeTimeDA)
            mEmployeeTimeDA.Update(times)
        Catch e As Exception
            Throw New DataAccessException(e)
        End Try
    End Sub

    Public Sub UpdateEmployeeTimes(ByVal times() As DataSetData.EmployeeTime)
        Try
            AttachToTransaction(mEmployeeTimeDA)
            mEmployeeTimeDA.Update(times)
        Catch e As Exception
            Throw New DataAccessException(e)
        End Try
    End Sub


    Public ReadOnly Property SalonTimes() As DataSetData.SalonTimesDataTable
        Get
            Return Data.SalonTimes
        End Get
    End Property


    Public Sub UpdateSalonTimes(ByVal times As DataSetData.SalonTimesDataTable)
        Try
            AttachToTransaction(mSalonTimeDA)
            mSalonTimeDA.Update(times)
        Catch e As Exception
            Throw New DataAccessException(e)
        End Try
    End Sub


    Public ReadOnly Property ServiceParams() As DataSetData.ServiceParamsDataTable
        Get
            Return Data.ServiceParams
        End Get
    End Property


    Public Sub UpdateServiceParam(ByVal srv As DataSetData.ServiceParam)
        Try
            AttachToTransaction(mServiceParamDA)
            mServiceParamDA.Update(New DataSetData.ServiceParam() {srv})
        Catch e As Exception
            Throw New DataAccessException(e)
        End Try
    End Sub

    Public Sub UpdateServiceParams(ByVal srv As DataSetData.ServiceParam())
        Try
            AttachToTransaction(mServiceParamDA)
            mServiceParamDA.Update(srv)
        Catch e As Exception
            Throw New DataAccessException(e)
        End Try
    End Sub
#End Region

#Region " DataSetAppointment Operations"

    Public Function GetAppointments(ByVal clientId As Object, ByVal eId As Object, ByVal fromTime As Object, ByVal toTime As Object, ByVal pendingOnly As Boolean) As DataSetAppointments
        Try
            Dim ds As New DataSetAppointments

            AttachToTransaction(mAppointmentDA)
            mAppointmentDA.SelectCommand.Parameters("@Start").Value = fromTime
            mAppointmentDA.SelectCommand.Parameters("@End").Value = toTime
            mAppointmentDA.SelectCommand.Parameters("@Client").Value = clientId
            mAppointmentDA.SelectCommand.Parameters("@Performer").Value = eId
            mAppointmentDA.SelectCommand.Parameters("@PendingOnly").Value = pendingOnly
            mAppointmentDA.Fill(ds, ds.Appointments.TableName)

            Return ds
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
    End Function

    Public Function GetAppointments(ByVal fromTime As DateTime, ByVal toTime As DateTime) As DataSetAppointments
        Return GetAppointments(DBNull.Value, DBNull.Value, fromTime, toTime, False)
    End Function


    Public Function GetClientAppointments(ByVal clientId As Integer) As DataSetAppointments
        Return GetAppointments(clientId, DBNull.Value, DBNull.Value, DBNull.Value, False)
    End Function


    Public Function GetClientAppointments(ByVal clientId As Integer, ByVal fromTime As DateTime, ByVal toTime As DateTime) As DataSetAppointments
        Return GetAppointments(clientId, DBNull.Value, fromTime, toTime, False)
    End Function

    Public Function GetEmployeePendingAppointments(ByVal eId As Integer) As DataSetAppointments
        Return GetAppointments(DBNull.Value, eId, DBNull.Value, DBNull.Value, True)
    End Function

    Public Function GetEmployeeAppointments(ByVal eId As Integer) As DataSetAppointments
        Return GetAppointments(DBNull.Value, eId, DBNull.Value, DBNull.Value, False)
    End Function

    Public Function GetEmployeeAppointments(ByVal eId As Integer, ByVal queryDate As DateTime) As DataSetAppointments
        Return GetAppointments(DBNull.Value, eId, queryDate, queryDate.AddDays(1), False)
    End Function

    Public Sub UpdateAppointment(ByVal app As DataSetAppointments.Appointment)
        Try
            AttachToTransaction(mAppointmentDA)
            mAppointmentDA.Update(New DataSetAppointments.Appointment() {app})
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
    End Sub

#End Region

#Region " DataSetBill Operations "
    Public Function GetBillHistory(ByVal ClientID As Integer) As DataSetBill
        Dim ds As DataSetBill = New DataSetBill
        Try
            AttachToTransaction(mBillDA)
            mBillDA.SelectCommand.Parameters("@ClientID").Value = ClientID
            mBillDA.Fill(ds.Bills)

            AttachToTransaction(mBillDetailsDA)
            mBillDetailsDA.SelectCommand.Parameters("@ClientID").Value = ClientID
            mBillDetailsDA.Fill(ds.BillDetails)
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
        Return ds
    End Function


    Public Sub UpdateBill(ByVal bns As DataSetBill.BillsDataTable)
        Try
            AttachToTransaction(mBillDA)
            mBillDA.Update(bns)
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
    End Sub

    Public Sub UpdatePettyCashBill(ByVal bills As DataSetBill.PettyCashBillsDataTable)
        Try
            AttachToTransaction(mPCBillDA)
            mPCBillDA.Update(bills)
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
    End Sub

    Public Sub UpdateBillProducts(ByVal dsBillProducts As DataSetBill.BillProductsDataTable)
        Try
            AttachToTransaction(mBillProductDA)
            mBillProductDA.Update(dsBillProducts)
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
    End Sub


    Public Sub UpdateBillPayment(ByVal p As DataSetBill.Payment)
        Try
            AttachToTransaction(mBillPaymentDA)
            mBillPaymentDA.Update(New DataSetBill.Payment() {p})
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
    End Sub

#End Region

#Region " Reports "
    Public Function EndOfDayReport(ByVal sd As Date, ByVal ed As Date) As EndOfDayReport
        Dim rpt As New EndOfDayReport
        Try
            AttachToTransaction(mEDAutitDA)
            mEDAutitCommand.Parameters("@StartDate").Value = sd
            mEDAutitCommand.Parameters("@EndDate").Value = ed
            mEDAutitDA.Fill(rpt.TillAudits)

            AttachToTransaction(mEDPropertiesDA)
            mEDPropertiesCommand.Parameters("@StartDate").Value = sd
            mEDPropertiesCommand.Parameters("@EndDate").Value = ed
            mEDPropertiesDA.Fill(rpt.Properties)

            AttachToTransaction(mEDPaymentDA)
            mEDPaymentCommand.Parameters("@StartDate").Value = sd
            mEDPaymentCommand.Parameters("@EndDate").Value = ed
            mEDPaymentDA.Fill(rpt.Payments)
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
        Return rpt
    End Function


    Public Function FullSalonReport(ByVal sd As Date, ByVal ed As Date) As FullReport
        Dim rpt As New FullReport
        Try
            'AttachToTransaction(mFREmployeeDA)
            'mFREmployeeCommand.Parameters("@StartDate").Value = sd
            'mFREmployeeCommand.Parameters("@EndDate").Value = ed
            'mFREmployeeDA.Fill(rpt.Members)

            AttachToTransaction(mFRServiceDA)
            mFRServiceCommand.Parameters("@StartDate").Value = sd
            mFRServiceCommand.Parameters("@EndDate").Value = ed
            mFRServiceDA.Fill(rpt.Services)

            AttachToTransaction(mFRProductDA)
            mFRProductCommand.Parameters("@StartDate").Value = sd
            mFRProductCommand.Parameters("@EndDate").Value = ed
            mFRProductDA.Fill(rpt.Retails)

            AttachToTransaction(mEDPropertiesDA)
            mEDPropertiesCommand.Parameters("@StartDate").Value = sd
            mEDPropertiesCommand.Parameters("@EndDate").Value = ed
            mEDPropertiesDA.Fill(rpt.Properties)

            AttachToTransaction(mEDPaymentDA)
            mEDPaymentCommand.Parameters("@StartDate").Value = sd
            mEDPaymentCommand.Parameters("@EndDate").Value = ed
            mEDPaymentDA.Fill(rpt.Payments)

            AttachToTransaction(mQREmployeeDA)
            mQREmployeeCommand.Parameters("@StartDate").Value = sd
            mQREmployeeCommand.Parameters("@EndDate").Value = ed
            mQREmployeeDA.Fill(rpt.Members)

            AttachToTransaction(mEDAutitDA)
            mEDAutitCommand.Parameters("@StartDate").Value = sd
            mEDAutitCommand.Parameters("@EndDate").Value = ed
            mEDAutitDA.Fill(rpt.TillAudits)
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
        Return rpt
    End Function


    Public Function QuickSalonReport(ByVal sd As Date, ByVal ed As Date) As QuickReport
        Dim rpt As New QuickReport
        Try
            AttachToTransaction(mQREmployeeDA)
            mQREmployeeCommand.Parameters("@StartDate").Value = sd
            mQREmployeeCommand.Parameters("@EndDate").Value = ed
            mQREmployeeDA.Fill(rpt.Members)

            Dim prop As QuickReport.Prop = rpt.Properties.NewProp
            rpt.Properties.AddProp(prop)
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
        Return rpt
    End Function

#End Region

#Region " Schedule "
    Public Function GetBusyTimes(ByVal EmployeeID As Integer) As DataSetAppointments
        Dim ds As New DataSetAppointments
        Try
            AttachToTransaction(mBusyTimeDA)
            mBusyTimeDA.SelectCommand.Parameters("@EmployeeID").Value = EmployeeID
            mBusyTimeDA.SelectCommand.Parameters("@StartTime").Value = DBNull.Value
            mBusyTimeDA.SelectCommand.Parameters("@EndTime").Value = DBNull.Value
            mBusyTimeDA.SelectCommand.Parameters("@Busy").Value = True
            mBusyTimeDA.Fill(ds.BusyTimes)
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
        Return ds
    End Function

    Public Function GetBusyAndAdditionalTimes(ByVal EmployeeID As Integer) As DataSetAppointments
        Dim ds As New DataSetAppointments
        Try
            AttachToTransaction(mBusyTimeDA)
            mBusyTimeDA.SelectCommand.Parameters("@EmployeeID").Value = EmployeeID
            mBusyTimeDA.SelectCommand.Parameters("@StartTime").Value = DBNull.Value
            mBusyTimeDA.SelectCommand.Parameters("@EndTime").Value = DBNull.Value
            mBusyTimeDA.SelectCommand.Parameters("@Busy").Value = DBNull.Value
            mBusyTimeDA.Fill(ds.BusyTimes)
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
        Return ds
    End Function

    Public Function GetBusyTimes(ByVal EmployeeID As Integer, ByVal StartTime As DateTime, ByVal EndTime As DateTime) As DataSetAppointments
        Dim ds As New DataSetAppointments
        Try
            AttachToTransaction(mBusyTimeDA)
            mBusyTimeDA.SelectCommand.Parameters("@EmployeeID").Value = EmployeeID
            mBusyTimeDA.SelectCommand.Parameters("@StartTime").Value = StartTime
            mBusyTimeDA.SelectCommand.Parameters("@EndTime").Value = EndTime
            mBusyTimeDA.SelectCommand.Parameters("@Busy").Value = True
            mBusyTimeDA.Fill(ds.BusyTimes)
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
        Return ds
    End Function

    Public Function GetBusyTimes(ByVal StartTime As DateTime, ByVal EndTime As DateTime) As DataSetAppointments
        Dim ds As New DataSetAppointments
        Try
            AttachToTransaction(mBusyTimeDA)
            mBusyTimeDA.SelectCommand.Parameters("@EmployeeID").Value = DBNull.Value
            mBusyTimeDA.SelectCommand.Parameters("@StartTime").Value = StartTime
            mBusyTimeDA.SelectCommand.Parameters("@EndTime").Value = EndTime
            mBusyTimeDA.SelectCommand.Parameters("@Busy").Value = True
            mBusyTimeDA.Fill(ds.BusyTimes)
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
        Return ds
    End Function


    Public Function GetAdditionalTimes(ByVal StartTime As DateTime, ByVal EndTime As DateTime) As DataSetAppointments
        Dim ds As New DataSetAppointments
        Try
            AttachToTransaction(mBusyTimeDA)
            mBusyTimeDA.SelectCommand.Parameters("@EmployeeID").Value = DBNull.Value
            mBusyTimeDA.SelectCommand.Parameters("@StartTime").Value = StartTime
            mBusyTimeDA.SelectCommand.Parameters("@EndTime").Value = EndTime
            mBusyTimeDA.SelectCommand.Parameters("@Busy").Value = False
            mBusyTimeDA.Fill(ds.BusyTimes)
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
        Return ds
    End Function


    Public Function GetAdditionalTimes(ByVal EmployeeID As Integer, ByVal StartTime As DateTime, ByVal EndTime As DateTime) As DataSetAppointments
        Dim ds As New DataSetAppointments
        Try
            AttachToTransaction(mBusyTimeDA)
            mBusyTimeDA.SelectCommand.Parameters("@EmployeeID").Value = EmployeeID
            mBusyTimeDA.SelectCommand.Parameters("@StartTime").Value = StartTime
            mBusyTimeDA.SelectCommand.Parameters("@EndTime").Value = EndTime
            mBusyTimeDA.SelectCommand.Parameters("@Busy").Value = False
            mBusyTimeDA.Fill(ds.BusyTimes)
        Catch ex As Exception
            Throw New DataAccessException(ex)
        End Try
        Return ds
    End Function



    Public Sub UpdateBusyTimes(ByVal times As DataSetAppointments.BusyTimesDataTable)
        Try
            AttachToTransaction(mBusyTimeDA)
            mBusyTimeDA.Update(times)
        Catch e As Exception
            Throw New DataAccessException(e)
        End Try
    End Sub

#End Region

End Class